package com.rice.meta;

import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.json.JSONUtil;

/**
 * 元数据管理类
 * @author ricejson
 */
public class MetaManager {
    private static Meta meta;

    /**
     * 单例模式：if双检锁
     * @return 元信息实体类
     */
    public static Meta getMeta() {
        if (meta == null) {
            synchronized (MetaManager.class) {
                if (meta == null) {
                    meta = initMeta();
                }
            }
        }
        return meta;
    }

    private static Meta initMeta() {
        // 读取配置文件
        String jsonStr = ResourceUtil.readUtf8Str("./meta/meta.json");
        // 转换为Java 对象
        Meta bean = JSONUtil.toBean(jsonStr, Meta.class);
        return bean;
    }
}
